package com.ruoyi.bookSys.mapper;

import java.util.List;
import com.ruoyi.bookSys.domain.BookInfo;
import com.ruoyi.bookSys.domain.BookBorrow;

/**
 * 图书信息Mapper接口
 * 
 * @author ruoyi
 * @date 2025-10-14
 */
public interface BookInfoMapper 
{
    /**
     * 查询图书信息
     * 
     * @param bookId 图书信息主键
     * @return 图书信息
     */
    public BookInfo selectBookInfoByBookId(Long bookId);

    /**
     * 查询图书信息列表
     * 
     * @param bookInfo 图书信息
     * @return 图书信息集合
     */
    public List<BookInfo> selectBookInfoList(BookInfo bookInfo);

    /**
     * 新增图书信息
     * 
     * @param bookInfo 图书信息
     * @return 结果
     */
    public int insertBookInfo(BookInfo bookInfo);

    /**
     * 修改图书信息
     * 
     * @param bookInfo 图书信息
     * @return 结果
     */
    public int updateBookInfo(BookInfo bookInfo);

    /**
     * 删除图书信息
     * 
     * @param bookId 图书信息主键
     * @return 结果
     */
    public int deleteBookInfoByBookId(Long bookId);

    /**
     * 批量删除图书信息
     * 
     * @param bookIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBookInfoByBookIds(Long[] bookIds);

    /**
     * 批量删除图书借阅记录
     * 
     * @param bookIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBookBorrowByBookIds(Long[] bookIds);
    
    /**
     * 批量新增图书借阅记录
     * 
     * @param bookBorrowList 图书借阅记录列表
     * @return 结果
     */
    public int batchBookBorrow(List<BookBorrow> bookBorrowList);
    

    /**
     * 通过图书信息主键删除图书借阅记录信息
     * 
     * @param bookId 图书信息ID
     * @return 结果
     */
    public int deleteBookBorrowByBookId(Long bookId);
}
